// 项目应用入口文件，使用Express构建web服务

// 1. 导入Express框架
const express = require("express");
const fs = require("fs");
// 导入自定义路由器模块
const stuRouter = require("./routes/stu");
const homeRouter = require("./routes/home");
// 2. 创建app应用
const app  = express();

// 应用级中间件
app.use("/", (req, res, next) => {
    let ip = (req.headers['x-real-ip'] || req.connection.remoteAddress).slice(7); // 获取客户端访问者的ip
    let info = new Date() +" "+ ip + " " + req.url+"\n"; // 拼装请求日志信息
    fs.appendFile("./log/access.log",info,(err)=>{}); // 写入到日志文件
    next();
});

// 配置静态资源目录
app.use("/static",express.static("public"));
// 配置模板引擎
app.set("view engine" , "ejs");
// 配置模板的存放目录
app.set("views","./views");

// 3. 使用路由器模块
app.use("/stu", stuRouter); // 导入stu路由器，并指定/stu访问前缀
app.use(homeRouter);   // 导入home路由器，
// 4. 设置监听端口
app.listen(3000, () => {
    console.log("服务器启动成功！端口：3000");
});